package com.jadows.tdog.enums;

import lombok.Getter;

/**
 * @author taojiacheng
 */
@Getter
public enum ServiceExceptionEnum {

    /**
     * 未知异常
     */
    UNKNOWN_EXCEPTION(-1, "未知异常"),

    /**
     * 用户异常
     */
    USER_EXCEPTION(2000, "用户异常"),

    /**
     * token 失效
     */
    TOKEN_INVALID(2001, "token 无效"),

    /**
     * 消息类型无效
     */
    NO_ACTION(2002, "无效的消息类型"),

    /**
     * 参数错误
     */
    PARAM_ERROR(2003, "参数错误"),

    INVALIDATE_TOKEN(2004, "需要重新登录"),

    INVALIDATE_CONNECTION(2005, "无效的连接"),

    /**
     * 聊天券不足
     */
    TICKET_NOT_ENOUGH(2006, "聊天券不足"),

    /**
     * 联系人不存在
     */
    CONTACT_NOT_EXIST(2007, "联系人不存在"),

    /**
     * 黑名单中
     */
    CONTACT_IN_BLOCK_LIST(2008, "对方已将您拉黑"),

    /**
     * 联系人 firebase token 不存在
     */
    CONTACT_FIREBASE_TOKEN_NOT_EXIST(2009, "对方没有 Firebase token"),

    /**
     * 目标联系人已经退出
     */
    CONTACT_EXIT(2010, "聊天对象已退出"),
    ;

    final Integer code;
    final String message;

    ServiceExceptionEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}